Adding a DEMO
OK, you've got your Campaign done, and it's got lots of neat advanced editing features in it. But you want something else. Something that will make it stand out from the rest. something with PIZZAZZ. Well, here's a fun thing to add, that gives your Campaign that professional look and feel to it - adding a DEMO map. What's a DEMO you say? Well, it's a scenario that pops up of a battle in progress where the player can add or salvage units in order to get the feel of the Campaign they're about to try. Sounds rad! But how do you add a DEMO? Well, let's take a look at what has to be done: As Easy as 1, 2, 3: There are 3 steps for creating and using a demo in your Campaing. They are: Creating the .fort and .english DEMO files Adding the special DEMO flags and keywords to the .english file Calling the DEMO map The details are below. Creating the DEMO files: A DEMO map is very similar to a regular Netstorm map, but somewhat simpler. Here's why: usually in a demo, you have only 2 islands, and 2 AI's that will battle back and forth. A word of advice. In the DEMO .fort file, you wanna start out with a lot of weapons on both sides so there's a lot of action happening when you start the DEMO. Once the .fort file is done, you want to create an .english file. This also will be somewhat simpler than a regular .english file because you don't need conditions, such as Succeeded or Failed. Check it out below: header missionType = "Tutorial" missionNumber = 1 myStartMoney = 3000 myTech="sunWalker;rainBattery;rainCannon;rainAviary;rainBlocker" ai1Tech="rainAviary;rainCannon;rainBattery;rainBlocker;sunWalker" ai1StartMoney = 20000 ai1GeyserAttachments = 0 ai1Collectors = 2 ai1TimeBetweenMoves = 3 ai2Tech="windArcher;windAviary;windBattery;windBlocker;sunCannon;sunAviary;sunWalker" ai2StartMoney = 20000 ai2GeyserAttachments = 3 ai2Collectors = 5 ai2TimeBetweenMoves = 2 title = "my DEMO" END So far, it looks like the beginning of any other .english file, right? But, there's a couple of subtle differences. When the map starts, you will be controlling the AI1 stuff, so the myTech=".." and the ai1Tech="..." lines should have the same Tech. Also, the ai%StartMoney should be high so there won't be any shortage of weapons being built on both sides. Ok, but howdoya make it a DEMO map, then? Well, let's go on to step 2: Adding the Special DEMO flags and keywords: Now let's edit the .english file and put in the stuff that makes it a DEMO. We also should put in an introductory screen, indicating the battle in progress. Below, is the modified .english file. header missionType = "Tutorial" missionNumber = 1 myStartMoney = 3000 myTech="sunWalker;rainBattery;rainCannon;rainAviary;rainBlocker" ai1Tech="rainAviary;rainCannon;rainBattery;rainBlocker;sunWalker" ai1StartMoney = 20000 ai1GeyserAttachments = 0 ai1Collectors = 2 ai1TimeBetweenMoves = 3 ai2Tech="windArcher;windAviary;windBattery;windBlocker;sunCannon;sunAviary;sunWalker" ai2StartMoney = 20000 ai2GeyserAttachments = 3 ai2Collectors = 5 ai2TimeBetweenMoves = 2 title = "my DEMO" demo = 1 demoRestartTimer = 300 Demo My DEMO! Here's my DEMO! Whaddya think? Help out your rain buddies in trying to defeat the forces of wind and sun $Timeout=10,DoNothing,0 END The first difference you see is the demo = 1 flag. This tells Netstorm that this is a DEMO map. Next, the demoRestartTimer = 300 (optional) will re-run the DEMO after 300 seconds (unless the DEMO is exited). Finally, the stuff after the DEMO keyword, will be displayed once the map starts. Now, we have the .fort file complete, and the .english file modified. The last thing we need to do is call the DEMO file from our main Calling the DEMO map There's one last keyword you need to know, and that's the StartDemo command. There are a few different ways of using it: as a button, so the DEMO would begin if the button was selected: $Button=Start DEMO,StartDemo,DemoName or as a timed event, so the DEMO begins after a certain amount of time: $Timeout=15,StartDemo,DemoName DemoName is the name of the map you want to run as a DEMO. Where do you put these lines? Anywhere you want to call the DEMO. A good place to add one of these lines is in your GUIDE*.english file. Well, there ya have it. Everything you ever wanted to know about DEMOs. category:NEC